﻿    #ifndef PRO_DIALOG_H
#define PRO_DIALOG_H

#include <QDialog>
#include<QTimer>
namespace Ui {
class Pro_Dialog;
}

class Pro_Dialog : public QDialog
{
    Q_OBJECT
signals:
    void sendid(int id);
public:
    process *Pro;
    int choose_pro;             //所选进程id
     int type;                  //0为选取的是运行队列的进程，1为选取等待队列进程
     int diaodu;                //当前所选调度算法 1：轮转调度算法 2.先来先服务加优先级 3.先来先服务
     QTimer *timer;             //
     //函数部分
    explicit Pro_Dialog(QWidget *parent = 0);//构造函数
    ~Pro_Dialog();
private slots://槽
     void on_timeslips_currentTextChanged(const QString &arg1);             //接受时间片更改消息的函数
     void on_tableWidget_2_customContextMenuRequested(const QPoint &pos);   //任务管理器中对进程的操作的ui设计
     void on_diaodu_currentIndexChanged(int index);                         //选择调度算法的ui设计
     void open_pro();                                                       //打开任务管理器并显示
     void pro_opt_sure();                                                   //保证操作时，时间在推进
     void diaodu_choice();                                                  //在时间推进时的要循环的部分
     void insert();//新建一个进程，将其加入到wait队列中
     void block();//阻塞一个运行中进程，将其加入到阻塞队列
     void wake();//唤醒一个阻塞中进程，将其加入到ready队列中
     void dele();//停止一个进程
     void fresh();//任务管理器的一些ui显示设置
     //内存部分函数
     void getfromfile(int type,int id);//接收来自文件模块的新建和关闭进程请求
private:
    Ui::Pro_Dialog *ui;
};

#endif // PRO_DIALOG_H
